<script setup lang="ts">
//此组件用于渲染一个小的商品格子
defineProps<{
  // eslint-disable-next-line no-undef
  good: Good_Pt;
}>();
</script>

<template>
  <RouterLink :to="`/detail/${good.id}`" class="goods-item">
    <!-- 图片懒加载 -->
    <img v-img-lazy="good.picture" />
    <p class="name ellipsis">{{ good.name }}</p>
    <p class="desc ellipsis">{{ good.desc }}</p>
    <p class="price">&yen;{{ good.price }}</p>
  </RouterLink>
</template>

<style scoped lang="scss">
.goods-item {
  display: block;
  width: 220px;
  text-align: center;
  padding: 5px 5px;
  transition: all 0.5s;

  &:hover {
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 3px 8px rgb(0 0 0 / 20%);
  }

  img {
    width: 160px;
    height: 160px;
  }

  p {
    padding-top: 10px;
  }

  .name {
    font-size: 16px;
  }

  .desc {
    color: #999;
    height: 29px;
  }

  .price {
    color: $priceColor;
    font-size: 20px;
  }
}
</style>
